<?php
/*
分页函数 apage V1.0
最后修改于2010年2月1日
abans.cn
abans@qq.com


$apage['counts']	总数
$apage['theurl']	url
$apage['start']		当前页码
$apage['page']		每页数量
$apage['by']		排序 字段
$apage['order']		排序 方法
$apage['other']		附带参数
$arr				数组


*/
function apages($apage,$arr=null){
	if($apage['counts']>$apage['page']){
		
		if($apage['by']){
			if($apage['order']){
				$and="&by=$by&order=$order".$apage['other'];
			}else{
				$and="&by=$by".$apage['other'];
			}
		}else{
			$and=$apage['other'];
		}
		if($arr==null)
			$andpage = '';
		else
			$andpage = ','.$apage['page'];
		$pagenum = floor(($apage['counts']-1)/$apage['page']);
		$pageup=$apage['start']-1;
		$pagedown=$apage['start']+1;
		$pageend=$pagenum+1;
	$apagehtml = '<style>.apage{width:auto; margin:0 auto;float:left;}
	.apage a{margin:0 3px 0 0;padding:2px 5px;color:#008000;background:none repeat scroll 0 0 #FCF9E6;border:1px solid #EBE6C9;text-decoration:none;}
	</style><div class="apage">';
		if($pagenum<9){
			$apagehtml .= "<a>".$apage['counts']."</a>";
			if($apage['start']>1){
				$apagehtml .= '<a href="'.$apage['theurl'].'&start='.$pageup.$andpage.$and.'"><-</a>';
			}else{
				$apagehtml .= '<a><-</a>';
			}
			$i=0;
			for($i;$i<$pagenum+1;$i++){
				$apagehtml .= '<a href="'.$apage['theurl'].'&start='.($i+1).$andpage.$and.'">';
				if($apage['start']==$i+1){$apagehtml .= '<b>';}
				$apagehtml .= $i+1;
				if($apage['start']==$i+1){$apagehtml .= '</b>';}
					$apagehtml .= '</a>';
			}
			if($apage['start']<$pageend){
				$apagehtml .= '<a href="'.$apage['theurl'].'&start='.$pagedown.$andpage.$and.'">-></a>';
			}else{
				$apagehtml .= "<a>-></a>";
			}
		}else if($pagenum>8){
		//	$apagehtml .= "<form action='' method='get'>";
			$apagehtml .= "<a>".$apage['counts']."</a>";
			if($apage['start']>=5){
				$apagehtml .= '<a href="'.$apage['theurl'].'&start=1'.$andpage.$and.'">1 ...</a>';
			}
			if($apage['start']>1){
				$apagehtml .= '<a href="'.$apage['theurl'].'&start='.$pageup.$andpage.$and.'"><-</a>';
			}else{
				$apagehtml .= '<a><-</a>';
			}
			if($apage['start']<=4){
				$i=0;
				$iplus=$i+3;
				for($i;$i-2<$iplus;$i++){
					$apagehtml .= '<a href="'.$apage['theurl'].'&start='.($i+1).$andpage.$and.'">';
					if($apage['start']==$i+1){$apagehtml .= '<b>';}
						$apagehtml .= $i+1;
					if($apage['start']==$i+1){$apagehtml .= '</b>';}
					$apagehtml .= '</a>';
				}
			}else if($apage['start']>=5 && $apage['start']<($pagenum-2)){
				$i=$apage['start']-3;
				$iplus=$i+3;
				for($i;$i-2<$iplus;$i++){
					$apagehtml .= '<a href="'.$apage['theurl'].'&start='.($i+1).$andpage.$and.'">';
					if($apage['start']==$i+1){$apagehtml .= '<b>';}
					$apagehtml .= $i+1;
					if($apage['start']==$i+1){$apagehtml .= '</b>';}
					$apagehtml .= '</a>';
				}
			}else if($apage['start']>=($pagenum-2)){
				$i=$pagenum-4;
				$iplus=$pagenum-1;
				for($i;$i-2<$iplus;$i++){
					$apagehtml .= '<a href="'.$apage['theurl'].'&start='.($i+1).$andpage.$and.'">';
					if($apage['start']==$i+1){$apagehtml .= '<b>';}
					$apagehtml .= $i+1;
					if($apage['start']==$i+1){$apagehtml .= '</b>';}
					$apagehtml .= '</a>';
				}
			}
			if($apage['start']<$pageend){
				$apagehtml .= '<a href="'.$apage['theurl'].'&start='.$pagedown.$andpage.$and.'">-></a>';
			}else{
				$apagehtml .= "<a>-></a>";
			}
			if($pagenum>6 && $apage['start']<($pagenum-2)){
				$apagehtml .= '<a href="'.$apage['theurl'].'&start='.$pageend.$andpage.$and.'">... '.$pageend.'</a>';
			}
	//	$apagehtml .= "<input type='text' name='start' size='3' value=''>
	//		<input type='hidden' name='by' value='$by'>
	//		<input type='hidden' name='order' value='$order'>
	//		<input type='submit' value='GO'></form>";
		}
		$apagehtml .= '</div>';
	}
	return $apagehtml;
}
?>